import axios from 'axios'
import {Message} from 'element-ui'
import baseConfig from '@/../config'
import storage from '@/util/storage'

axios.defaults.baseURL = baseConfig.baseURL + ':' + baseConfig.http_server_port;

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  const token = storage.local.get('token')
  if(token) config.headers.Authorization = token;
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  return response
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error)
})

export default {
  request(params = {rawData: false}){
    return axios.request(params).then(res=>{
      if(params.rawData) return res
      else {
        if(res.data.code != 0 ){
          Message({type: 'warning', message: res.data.message})
        }
        return res.data
      }
    }).catch(err=> console.log(err))
  },
}